Computer-readable records can be stored in a variety of different ways. For example, they may be stored using unformatted ASCII characters, mark-up language documents, or in one of many proprietary formats. Furthermore, the information within computer-readable records is, itself, subject to many different formats and interpretations. In comparing the patient records of different hospitals, for example, one may find that hospital A puts the patient's blood type in the tenth line of the record, while hospital B puts it in the fifth line. One may also find that, in addition to listing the patient's exact weight, hospital A has a special code to indicate whether the patient is mildly, moderately or morbidly obese, while patient records in hospital B only indicate whether a patient is obese or not. It may be that the data format for hospital A works fine for hospital A, and likewise for hospital B, but if the two hospitals were ever to merge, it would be difficult to consolidate the records of the two hospitals into a single database. It is very likely that all of the old records would have to be converted into a single, standard format.
Another example in which multiple record formats can be troublesome is in the area of software testing. A program with a large code base may require dozens of teams to test the various sections of the code. Software tests are typically performed using one or more software test programs. These programs are designed to run portions of the tested code, simulate a variety of types of input and conditions, and record the results of the test in one or more test logs. If multiple teams are involved, each team may choose to use a different test program than the other teams. This means that each team's test log will be in a different format and possibly contain different information that all of the other teams, making it very difficult to create a single, unified database for holding all of the test results. Although it is possible to force each test team to use a single test program, it is undesirable for at least two reasons: (1) It stifles creativity. Each team should be free to choose the test program that works best for it. (2) The company producing the program may choose to contract out some of the testing. The contractor chosen to perform the testing may have a considerable investment in a particular test program and may not wish to have its choice of program dictated to it, or may charge more for the trouble.
Thus it can be seen that there is a need for a method and system for processing data records having multiple formats that avoids the above-mentioned disadvantages.